home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / apps / super_c[data_becker_1985](v2_01).nbz / cdemo.c < prev    next >
Encoding:
Text File  |  2019-04-13  |  24.9 KB  |  1,225 lines

  1. äçû/* ╙ORRY, THIS IS A TRANSLATED PROGRAM TEXT. ╙O THERE ARE SOME
  2. û   COMMENTS AND VARIABLES IN GERMAN  -  FH */
  3. ò
  4. ò#INCLUDE "STDIO.H"
  5. ò#INCLUDE "GRAPHIC.H"
  6. ù
  7. û/* ╘┼╪╘ ╨╥╔╬╘ ╥╧╒╘╔╬┼╙ */
  8. ÿ
  9. ÿSTATIC INT PX,PY;
  10. ÿSTATIC FLOAT FX,FY,CURSIV,VERTICAL;
  11. ÿ
  12. ÿSTATIC CHAR ALPHAB[][10]=
  13. ÿ   █
  14. Ü     /*   */
  15. ÿ     █ 0015
  16. ÿ     ▌,
  17. Ü     /* ! */
  18. ÿ     █ 0300,0103,0304,0104,0005
  19. ÿ     ▌,
  20. Ü     /* " */
  21. ÿ     █ 0300,0101,0310,0111,0015
  22. ÿ     ▌,
  23. Ü     /* # */
  24. ÿ     █ 0311,0114,0321,0124,0302,
  25. ÿ       0132,0303,0133,0035
  26. ÿ     ▌,
  27. Ü     /* $ */
  28. ÿ     █ 0321,0101,0102,0122,0123,
  29. ÿ       0103,0310,0114,0025
  30. ÿ     ▌,
  31. Ü     /* % */
  32. ÿ     █ 0300,0100,0324,0124,0320,
  33. ÿ       0104,0025
  34. ÿ     ▌,
  35. Ü     /* & */
  36. ÿ     █ 0324,0101,0100,0110,0111,
  37. ÿ       0102,0104,0114,0122,0025
  38. ÿ     ▌,
  39. Ü     /* ' */
  40. ÿ     █ 0310,0101,0015
  41. ÿ     ▌,
  42. Ü     /* ( */
  43. ÿ     █ 0310,0101,0103,0114,0015
  44. ÿ     ▌,
  45. Ü     /* ) */
  46. ÿ     █ 0300,0111,0113,0104,0015
  47. ÿ     ▌,
  48. Ü     /* * */
  49. ÿ     █ 0302,0122,0300,0124,0320,
  50. ÿ       0104,0025
  51. ÿ     ▌,
  52. Ü     /* + */
  53. ÿ     █ 0302,0122,0311,0113,0025
  54. ÿ     ▌,
  55. Ü     /* , */
  56. ÿ     █ 0314,0105,0015
  57. ÿ     ▌,
  58. Ü     /* - */
  59. ÿ     █ 0302,0122,0025
  60. ÿ     ▌,
  61. Ü     /* . */
  62. ÿ     █ 0304,0104,0005
  63. ÿ     ▌,
  64. Ü     /* / */
  65. ÿ     █ 0320,0104,0025
  66. ÿ     ▌,
  67. Ü     /* 0 */
  68. ÿ     █ 0320,0100,0104,0124,0120,
  69. ÿ       0025
  70. ÿ     ▌,
  71. Ü     /* 1 */
  72. ÿ     █ 0301,0110,0114,0015
  73. ÿ     ▌,
  74. Ü     /* 2 */
  75. ÿ     █ 0300,0120,0122,0102,0104,
  76. ÿ       0124,0025
  77. ÿ     ▌,
  78. Ü     /* 3 */
  79. ÿ     █ 0300,0120,0124,0104,0322,
  80. ÿ       0112,0025
  81. ÿ     ▌,
  82. Ü     /* 4 */
  83. ÿ     █ 0300,0102,0122,0320,0124,
  84. ÿ       0025
  85. ÿ     ▌,
  86. Ü     /* 5 */
  87. ÿ     █ 0320,0100,0102,0122,0124,
  88. ÿ       0104,0025
  89. ÿ     ▌,
  90. Ü     /* 6 */
  91. ÿ     █ 0320,0100,0104,0124,0122,
  92. ÿ       0102,0025
  93. ÿ     ▌,
  94. Ü     /* 7 */
  95. ÿ     █ 0300,0120,0124,0025
  96. ÿ     ▌,
  97. Ü     /* 8 */
  98. ÿ     █ 0300,0104,0124,0120,0100,
  99. ÿ       0302,0122,0025
  100. ÿ     ▌,
  101. Ü     /* 9 */
  102. ÿ     █ 0304,0124,0120,0100,0102,
  103. ÿ       0122,0025
  104. ÿ     ▌,
  105. Ü     /* : */
  106. ÿ     █ 0302,0102,0303,0103,0005
  107. ÿ     ▌,
  108. Ü     /* ; */
  109. ÿ     █ 0312,0112,0313,0105,0015
  110. ÿ     ▌,
  111. Ü     /* < */
  112. ÿ     █ 0320,0102,0124,0025
  113. ÿ     ▌,
  114. Ü     /* = */
  115. ÿ     █ 0302,0122,0303,0123,0025
  116. ÿ     ▌,
  117. Ü     /* > */
  118. ÿ     █ 0300,0122,0104,0025
  119. ÿ     ▌,
  120. Ü     /* ? */
  121. ÿ     █ 0301,0100,0120,0122,0112,
  122. ÿ       0113,0314,0114,0025
  123. ÿ     ▌,
  124. ÿ
  125. Ü     /* @ */
  126. ÿ     █ 0321,0111,0112,0122,0120,
  127. ÿ       0100,0104,0124,0123,0025
  128. ÿ     ▌,
  129. Ü     /* A */
  130. ÿ     █ 0302,0112,0114,0104,0103,
  131. ÿ       0113,0015
  132. ÿ     ▌,
  133. Ü     /* B */
  134. ÿ     █ 0301,0104,0114,0112,0102,
  135. ÿ       0015
  136. ÿ     ▌,
  137. Ü     /* C */
  138. ÿ     █ 0312,0102,0104,0114,0015
  139. ÿ     ▌,
  140. Ü     /* D */
  141. ÿ     █ 0310,0114,0104,0102,0112,
  142. ÿ       0015
  143. ÿ     ▌,
  144. Ü     /* E */
  145. ÿ     █ 0314,0104,0102,0112,0113,
  146. ÿ       0103,0015
  147. ÿ     ▌,
  148. Ü     /* F */
  149. ÿ     █ 0310,0100,0105,0312,0102,
  150. ÿ       0015
  151. ÿ     ▌,
  152. Ü     /* G */
  153. ÿ     █ 0305,0115,0112,0102,0104,
  154. ÿ       0114,0015
  155. ÿ     ▌,
  156. Ü     /* H */
  157. ÿ     █ 0301,0104,0302,0112,0114,
  158. ÿ       0015
  159. ÿ     ▌,
  160. Ü     /* I */
  161. ÿ     █ 0302,0104,0301,0101,0005
  162. ÿ     ▌,
  163. Ü     /* J */
  164. ÿ     █ 0312,0115,0105,0311,0111,
  165. ÿ       0015
  166. ÿ     ▌,
  167. Ü     /* K */
  168. ÿ     █ 0301,0104,0303,0114,0303,
  169. ÿ       0112,0015
  170. ÿ     ▌,
  171. Ü     /* L */
  172. ÿ     █ 0301,0104,0005
  173. ÿ     ▌,
  174. Ü     /* M */
  175. ÿ     █ 0304,0102,0122,0124,0312,
  176. ÿ       0114,0025
  177. ÿ     ▌,
  178. Ü     /* N */
  179. ÿ     █ 0304,0102,0112,0114,0015
  180. ÿ     ▌,
  181. Ü     /* O */
  182. ÿ     █ 0302,0112,0114,0104,0102,
  183. ÿ       0015
  184. ÿ     ▌,
  185. Ü     /* P */
  186. ÿ     █ 0305,0102,0112,0114,0104,
  187. ÿ       0015
  188. ÿ     ▌,
  189. Ü     /* Q */
  190. ÿ     █ 0314,0104,0102,0112,0115,
  191. ÿ       0015
  192. ÿ     ▌,
  193. Ü     /* R */
  194. ÿ     █ 0304,0102,0112,0015
  195. ÿ     ▌,
  196. Ü     /* S */
  197. ÿ     █ 0312,0102,0103,0113,0114,
  198. ÿ       0104,0015
  199. ÿ     ▌,
  200. Ü     /* T */
  201. ÿ     █ 0301,0104,0114,0302,0112,
  202. ÿ       0015
  203. ÿ     ▌,
  204. Ü     /* U */
  205. ÿ     █ 0302,0104,0114,0112,0015
  206. ÿ     ▌,
  207. Ü     /* V */
  208. ÿ     █ 0302,0103,0114,0112,0015
  209. ÿ     ▌,
  210. Ü     /* W */
  211. ÿ     █ 0302,0104,0113,0124,0122,
  212. ÿ       0025
  213. ÿ     ▌,
  214. Ü     /* X */
  215. ÿ     █ 0302,0114,0312,0104,0015
  216. ÿ     ▌,
  217. Ü     /* Y */
  218. ÿ     █ 0302,0104,0114,0112,0314,
  219. ÿ       0115,0105,0015
  220. ÿ     ▌,
  221. Ü     /* Z */
  222. ÿ     █ 0302,0112,0104,0114,0015
  223. ÿ     ▌,
  224. Ü     /* [ */
  225. ÿ     █ 0310,0100,0104,0114,0015
  226. ÿ     ▌,
  227. Ü     /* \ */
  228. ÿ     █ 0300,0124,0025
  229. ÿ     ▌,
  230. Ü     /* ] */
  231. ÿ     █ 0300,0110,0114,0104,0015
  232. ÿ     ▌,
  233. Ü     /* ^ */
  234. ÿ     █ 0302,0110,0122,0025
  235. ÿ     ▌,
  236. Ü     /* _ */
  237. ÿ     █ 0305,0135,0025
  238. ÿ     ▌,
  239. ÿ
  240. ÿ
  241. Ü     /* └ */
  242. ÿ     █ 0302,0132,0025
  243. ÿ     ▌,
  244. Ü     /* ┴ */
  245. ÿ     █ 0304,0100,0120,0124,0302,
  246. ÿ       0122,0025
  247. ÿ     ▌,
  248. Ü     /* ┬ */
  249. ÿ     █ 0304,0100,0110,0112,0302,
  250. ÿ       0122,0124,0104,0025
  251. ÿ     ▌,
  252. Ü     /* ├ */
  253. ÿ     █ 0320,0100,0104,0124,0025
  254. ÿ     ▌,
  255. Ü     /* ─ */
  256. ÿ     █ 0300,0104,0114,0123,0121,
  257. ÿ       0110,0100,0025
  258. ÿ     ▌,
  259. Ü     /* ┼ */
  260. ÿ     █ 0320,0100,0104,0124,0302,
  261. ÿ       0112,0025
  262. ÿ     ▌,
  263. Ü     /* ╞ */
  264. ÿ     █ 0320,0100,0104,0302,0112,
  265. ÿ       0025
  266. ÿ     ▌,
  267. Ü     /* ╟ */
  268. ÿ     █ 0320,0100,0104,0124,0122,
  269. ÿ       0112,0025
  270. ÿ     ▌,
  271. Ü     /* ╚ */
  272. ÿ     █ 0300,0104,0320,0124,0302,
  273. ÿ       0122,0025
  274. ÿ     ▌,
  275. Ü     /* ╔ */
  276. ÿ     █ 0300,0104,0005
  277. ÿ     ▌,
  278. Ü     /* ╩ */
  279. ÿ     █ 0300,0120,0125,0105,0104,
  280. ÿ       0025
  281. ÿ     ▌,
  282. Ü     /* ╦ */
  283. ÿ     █ 0300,0104,0320,0102,0124,
  284. ÿ       0025
  285. ÿ     ▌,
  286. Ü     /* ╠ */
  287. ÿ     █ 0300,0104,0124,0025
  288. ÿ     ▌,
  289. Ü     /* ═ */
  290. ÿ     █ 0304,0100,0112,0120,0124,
  291. ÿ       0025
  292. ÿ     ▌,
  293. Ü     /* ╬ */
  294. ÿ     █ 0304,0100,0124,0120,0025
  295. ÿ     ▌,
  296. Ü     /* ╧ */
  297. ÿ     █ 0300,0104,0124,0120,0100,
  298. ÿ       0025
  299. ÿ     ▌,
  300. Ü     /* ╨ */
  301. ÿ     █ 0304,0100,0120,0122,0102,
  302. ÿ       0025
  303. ÿ     ▌,
  304. Ü     /* ╤ */
  305. ÿ     █ 0300,0104,0124,0120,0100,
  306. ÿ       0313,0124,0025
  307. ÿ     ▌,
  308. Ü     /* ╥ */
  309. ÿ     █ 0304,0100,0120,0122,0102,
  310. ÿ       0312,0124,0025
  311. ÿ     ▌,
  312. Ü     /* ╙ */
  313. ÿ     █ 0320,0100,0102,0122,0124,
  314. ÿ       0104,0025
  315. ÿ     ▌,
  316. Ü     /* ╘ */
  317. ÿ     █ 0300,0120,0310,0114,0025
  318. ÿ     ▌,
  319. Ü     /* ╒ */
  320. ÿ     █ 0300,0104,0124,0120,0025
  321. ÿ     ▌,
  322. Ü     /* ╓ */
  323. ÿ     █ 0300,0102,0124,0120,0025
  324. ÿ     ▌,
  325. Ü     /* ╫ */
  326. ÿ     █ 0300,0104,0112,0124,0120,
  327. ÿ       0025
  328. ÿ     ▌,
  329. Ü     /* ╪ */
  330. ÿ     █ 0300,0101,0123,0124,0320,
  331. ÿ       0121,0103,0104,0025
  332. ÿ     ▌,
  333. Ü     /* ┘ */
  334. ÿ     █ 0300,0102,0122,0120,0312,
  335. ÿ       0114,0025
  336. ÿ     ▌,
  337. Ü     /* ┌ */
  338. ÿ     █ 0300,0120,0104,0124,0025
  339. ÿ     ▌,
  340. Ü     /* █ */
  341. ÿ     █ 0320,0111,0113,0124,0312,
  342. ÿ       0102,0025
  343. ÿ     ▌,
  344. Ü     /* ▄ */
  345. ÿ     █ 0300,0105,0005
  346. ÿ     ▌,
  347. Ü     /* ▌ */
  348. ÿ     █ 0300,0111,0113,0104,0312,
  349. ÿ       0122,0025
  350. ÿ     ▌,
  351. Ü     /* ▐ */
  352. ÿ     █ 0301,0100,0110,0111,0121,
  353. ÿ       0120,0025
  354. ÿ     ▌
  355. ÿ
  356. ÿ   ▌;
  357. ÿ
  358. ù
  359. üPLETTER(LETTER)
  360. ÿ   CHAR *LETTER;
  361. ÿ
  362. ÿ   █   INT J,I=0;
  363. ÿ       INT X,Y,Y0;
  364. ÿ       FLOAT X0;
  365. ù
  366. ù       DO
  367. ¢       █   /* 0X00: X=0 END (NEW BEGIN)        */
  368. ¢           /*       X=1 SET A POINT            */
  369. ¢           /*       X=3 STOP, NEW BEGIN        */
  370. ù           J=LETTER[I++];
  371. ù           Y0=5-(J&07);
  372. ù           X0=((J&070)>> 3)+Y0*CURSIV;
  373. ù           IF(VERTICAL !=0)
  374. ù           █   X=X0; X0=Y0; Y0=X;
  375. ù           ▌
  376. ù           Y =Y0*FY+PY+0.5;
  377. ù           X =X0*FX+PX+0.5;
  378. ù           IF((J&=0300) == 0100)
  379. ù               PLOT(X,Y);
  380. ù           ELSE
  381. ù               SETPLOT(X,Y);
  382. ù
  383. ù       ▌WHILE(J != 0);
  384. ù       PX=X; PY=Y;
  385. ù   ▌
  386. ù
  387. ò
  388. üPLOTSTR(DX,STR)
  389. ÿ   INT DX;
  390. ÿ   CHAR *STR;
  391. ù
  392. ÿ   █   CHAR C;
  393. ÿ       INT NR;
  394. ù
  395. ù       WHILE((C=*STR++) != 0)
  396. ù       █
  397. ù           IF(C<' ')CONTINUE;
  398. ù           IF(C>=' ' && C<='?')
  399. ù               NR=C-' ';
  400. ù
  401. ù           ELSE IF(C>='@' && C<='_')
  402. ù               NR=C-'@'+32;
  403. ù
  404. ù           ELSE IF(C>='└' && C<='▐')
  405. ù               NR=C-'└'+64;
  406. ù
  407. ù           PLETTER(ALPHAB[NR]);
  408. ù           IF(VERTICAL!=0)
  409. ù               PY+=DX;
  410. ù           ELSE
  411. ù               PX+=DX;
  412. ù       ▌
  413. ù   ▌
  414. ù
  415. û/* ├╠╧├╦ ╨╥╧╟╥┴═ */
  416. ò
  417. ò#DEFINE ╥UHR  99
  418. ò#DEFINE ╥UHR2 85
  419. ò#DEFINE ╥UHR3 92
  420. ÿ
  421. ò#DEFINE ╥SEK1 98
  422. ò#DEFINE ╥SEK2 15
  423. ò
  424. ò#DEFINE ╥MIN1 85
  425. ò#DEFINE ╥MIN2 4
  426. ò#DEFINE ╥MIN3 6
  427. ò#DEFINE ╥MIN4 4
  428. ò
  429. ò#DEFINE ╥HOU1 55
  430. ò#DEFINE ╥HOU2  7
  431. ò#DEFINE ╥HOU3 12
  432. ò#DEFINE ╥HOU4  7
  433. ò
  434. ÿSTATIC CHAR *SPUF=0X9000,
  435. ÿ            *MPUF1=0X9040,
  436. ÿ            *MPUF2=0X9080,
  437. ÿ            *MPUF3=0X90C0,
  438. ÿ            *MPUF4=0X9100,
  439. ÿ            *HPUF1=0X9140,
  440. ÿ            *HPUF2=0X9180,
  441. ÿ            *HPUF3=0X91C0,
  442. ÿ            *HPUF4=0X9200;
  443. ÿ
  444. ÿSTATIC INT _X,_Y;
  445. ÿ
  446. ÿSTATIC FLOAT TABX[16]=
  447. ÿ   █
  448. ÿ       0.0,
  449. ÿ       0.1045,
  450. ÿ       0.2079,
  451. ÿ       0.3090,
  452. ÿ       0.4067,
  453. ÿ       0.5,
  454. ÿ       0.5878,
  455. ÿ       0.6691,
  456. ÿ       0.7431,
  457. ÿ       0.8090,
  458. ÿ       0.8660,
  459. ÿ       0.9135,
  460. ÿ       0.9511,
  461. ÿ       0.9781,
  462. ÿ       0.9945,
  463. ÿ       1.0
  464. ÿ   ▌;
  465. ÿ
  466. ÿSTATIC FLOAT TABY[16]=
  467. ÿ   █
  468. ÿ       1.0,
  469. ÿ       0.9945,
  470. ÿ       0.9781,
  471. ÿ       0.9511,
  472. ÿ       0.9135,
  473. ÿ       0.8660,
  474. ÿ       0.8090,
  475. ÿ       0.7431,
  476. ÿ       0.6691,
  477. ÿ       0.5878,
  478. ÿ       0.5,
  479. ÿ       0.4067,
  480. ÿ       0.3090,
  481. ÿ       0.2079,
  482. ÿ       0.1045,
  483. ÿ       0.0
  484. ÿ   ▌;
  485. ÿ
  486. ÿ/*  STATIC INT PX,PY;
  487. ÿ    STATIC FLOAT FX,FY;    */
  488. ÿ
  489. Ü     /* 12 */
  490. ÿSTATIC INT ZWOELF[]=
  491. ÿ     █ 030005,010105,010100,010000,010005,
  492. ÿ       030205,010204,010404,010403,010203,
  493. ÿ       010200,010500,010501,010301,010302,
  494. ÿ       010502,010505,010205,000000
  495. ÿ     ▌;
  496. Ü     /* 3 */
  497. ÿSTATIC INT DREI[]=
  498. ÿ     █ 030005,010305,010300,010000,010001,
  499. ÿ       010201,010202,010102,010103,010203,
  500. ÿ       010204,010004,010005,000000
  501. ÿ     ▌;
  502. Ü     /* 6 */
  503. ÿSTATIC INT SECHS[]=
  504. ÿ     █ 030005,010000,010300,010303,010103,
  505. ÿ       010104,010304,010305,010005,030102,
  506. ÿ       010101,010201,010202,010102,000000
  507. ÿ     ▌;
  508. Ü     /* 9 */
  509. ÿSTATIC INT NEUN[]=
  510. ÿ     █ 030005,010002,010202,010201,010001,
  511. ÿ       010000,010300,010305,010005,030104,
  512. ÿ       010103,010203,010204,010104,000000
  513. ÿ     ▌;
  514. Ü     /* ╨ROFI-├ */
  515. ÿSTATIC INT PROFI[]=
  516. ÿ     █ /* ╙ */
  517. ÿ       030007,010004,010204,010203,010003,
  518. ÿ       010002,010302,010305,010105,010106,
  519. ÿ       010306,010307,010007,
  520. ÿ       /* U */
  521. ÿ       030405,010402,010702,010705,010605,
  522. ÿ       010603,010503,010505,010405,
  523. ÿ       /* P */
  524. ÿ       031005,011000,011100,011102,011302,
  525. ÿ       011305,010805,031104,011103,011203,
  526. ÿ       011204,011104,
  527. ÿ       /* E */
  528. ÿ       031405,011402,011702,011703,011603,
  529. ÿ       011704,011705,011405,031504,011503,
  530. ÿ       011604,011504,
  531. ÿ       /* R */
  532. ÿ       032005,012002,012102,012104,012204,
  533. ÿ       012205,012005,
  534. ÿ       /* - */
  535. ÿ       032305,012304,012504,012505,012305,
  536. ÿ       /* ├ */
  537. ÿ       032607,012602,013102,013103,012703,
  538. ÿ       012706,013106,013107,012607,
  539. ÿ       000000
  540. ÿ    ▌;
  541. ÿ
  542. Ü    /* ┼IRICH ╚AUCK */
  543. ÿSTATIC INT EI_HA[]=
  544. ÿ    █  030204,010004,010002,010102,030002,
  545. ÿ       010000,010200,010202,030203,010203,
  546. ÿ       030200,010300,010302,010402,030300,
  547. ÿ       010500,010502,030503,010503,030500,
  548. ÿ       010600,010602,010702,030600,011000,
  549. ÿ       011003,031002,011102,011100,
  550. ÿ       031300,011304,031302,011502,031504,
  551. ÿ       011500,011600,011601,011701,031602,
  552. ÿ       011702,011700,012000,012002,032000,
  553. ÿ       012100,012102,032100,012200,012202,
  554. ÿ       012302,032200,012400,012403,032502,
  555. ÿ       012401,012500,
  556. ÿ       000000
  557. ÿ    ▌;
  558. ÿ
  559. ÿ
  560. üKOOR(R,POS)
  561. ÿINT R,POS;
  562. ù█
  563. ÿ   STATIC DOUBLE KORR=0.55;
  564. ÿ   FLOAT EX,EY;
  565. ù
  566. ù   IF(POS<=15)
  567. ù   █
  568. ù       EX=TABX[POS];
  569. ù       EY=TABY[POS];
  570. ù   ▌
  571. ù   ELSE IF(POS<=30)
  572. ù   █
  573. ù       EX=TABX[30-POS];
  574. ù       EY=-TABY[30-POS];
  575. ù   ▌
  576. ù   ELSE IF(POS<=45)
  577. ù   █
  578. ù       EX=-TABX[POS-30];
  579. ù       EY=-TABY[POS-30];
  580. ù   ▌
  581. ù   ELSE
  582. ù   █
  583. ù       EX=-TABX[60-POS];
  584. ù       EY=TABY[60-POS];
  585. ù   ▌
  586. ù   _X=EX*R*KORR+80;
  587. ù   _Y=199-100+EY*R;
  588. ù▌
  589. ü
  590. üPAINTCLOCK()
  591. ù█
  592. ÿ   INT I,J,X,Y;
  593. ù
  594. ù   SETCOL(2);
  595. ù
  596. ù   KOOR(╥UHR,0);
  597. ù   SETPLOT(_X,_Y);
  598. ù
  599. ù   FOR(I=1;I<=60;I++)
  600. ù   █   KOOR(╥UHR,I);
  601. ù       PLOT(_X,_Y);
  602. ù   ▌
  603. ù
  604. ù   FOR(I=0;I<60;I+=5)
  605. ù   █
  606. ù       KOOR(╥UHR,I);
  607. ù       X=_X;Y=_Y;
  608. ù       IF(!(I%15))
  609. ù           KOOR(╥UHR2,I);
  610. ù       ELSE
  611. ù           KOOR(╥UHR3,I);
  612. ù       LINE(X,Y,_X,_Y);
  613. ù   ▌
  614. ù
  615. ù   FX=FY=3;
  616. ù   PX=73;PY=199-34;
  617. ù   PLETTER2(ZWOELF);
  618. ù
  619. ù   PX=75;PY=199-181;
  620. ù   PLETTER2(SECHS);
  621. ù
  622. ù   PX=112;PY=199-108;
  623. ù   PLETTER2(DREI);
  624. ù
  625. ù   PX=36;PY=199-108;
  626. ù   PLETTER2(NEUN);
  627. ù
  628. ù   PX=41;PY=199-140;
  629. ù   PLETTER2(PROFI);
  630. ù
  631. ù   SETCOL(1); FILL(80,100);
  632. ù
  633. ù   SETCOL(0);
  634. ù   PX=49; PY=140; FX=3; FY=2;
  635. ù   PLETTER2(EI_HA);
  636. ù
  637. ù▌
  638. ù
  639. ÿSTATIC INT SX1,SY1,SX2,SY2;
  640. ü
  641. üSZGRON(POS)
  642. ÿINT POS;
  643. ù█
  644. ù   SETCOL(3);
  645. ù   KOOR(╥SEK1,POS);
  646. ù   SX1=_X;SY1=_Y;
  647. ù   KOOR(╥SEK2,(POS+30)%60);
  648. ù   MLINE(SX1,SY1,SX2=_X,SY2=_Y,SPUF);
  649. ù▌
  650. ù
  651. üSZGROFF()
  652. ù█
  653. ù   OLINE(SX1,SY1,SX2,SY2,SPUF);
  654. ù▌
  655. ù
  656. ÿSTATIC INT MX1,MY1,MX2,MY2;
  657. ÿSTATIC INT MX3,MY3,MX4,MY4;
  658. ù
  659. üMZGRON(POS)
  660. ÿINT POS;
  661. ù█
  662. ù   SETCOL(3);
  663. ù   KOOR(╥MIN1,POS);
  664. ù   MX1=_X;MY1=_Y;
  665. ù   KOOR(╥MIN2,(POS+15)%60);
  666. ù   MX2=_X;MY2=_Y;
  667. ù   KOOR(╥MIN3,(POS+30)%60);
  668. ù   MX3=_X;MY3=_Y;
  669. ù   KOOR(╥MIN4,(POS+45)%60);
  670. ù   MLINE(MX1,MY1,MX4=_X,MY4=_Y,MPUF1);
  671. ù   MLINE(MX4,MY4,MX3,MY3,MPUF2);
  672. ù   MLINE(MX3,MY3,MX2,MY2,MPUF3);
  673. ù   MLINE(MX2,MY2,MX1,MY1,MPUF4);
  674. ù▌
  675. ù
  676. üMZGROFF()
  677. ù█
  678. ù   OLINE(MX2,MY2,MX1,MY1,MPUF4);
  679. ù   OLINE(MX3,MY3,MX2,MY2,MPUF3);
  680. ù   OLINE(MX4,MY4,MX3,MY3,MPUF2);
  681. ù   OLINE(MX1,MY1,MX4,MY4,MPUF1);
  682. ù▌
  683. ù
  684. ÿSTATIC INT HX1,HY1,HX2,HY2;
  685. ÿSTATIC INT HX3,HY3,HX4,HY4;
  686. ù
  687. üHZGRON(POS)
  688. ÿINT POS;
  689. ù█
  690. ù   SETCOL(3);
  691. ù   KOOR(╥HOU1,POS);
  692. ù   HX1=_X;HY1=_Y;
  693. ù   KOOR(╥HOU2,(POS+15)%60);
  694. ù   HX2=_X;HY2=_Y;
  695. ù   KOOR(╥HOU3,(POS+30)%60);
  696. ù   HX3=_X;HY3=_Y;
  697. ù   KOOR(╥HOU4,(POS+45)%60);
  698. ù   MLINE(HX1,HY1,HX4=_X,HY4=_Y,HPUF1);
  699. ù   MLINE(HX4,HY4,HX3,HY3,HPUF2);
  700. ù   MLINE(HX3,HY3,HX2,HY2,HPUF3);
  701. ù   MLINE(HX2,HY2,HX1,HY1,HPUF4);
  702. ù▌
  703. ù
  704. üHZGROFF()
  705. ù█
  706. ù   OLINE(HX2,HY2,HX1,HY1,HPUF4);
  707. ù   OLINE(HX3,HY3,HX2,HY2,HPUF3);
  708. ù   OLINE(HX4,HY4,HX3,HY3,HPUF2);
  709. ù   OLINE(HX1,HY1,HX4,HY4,HPUF1);
  710. ù▌
  711. ü
  712. üCLOCK(TIM,COL1,COL2,COL3)
  713. ÿINT TIM,COL1,COL2,COL3;
  714. ù█
  715. ÿ   INT H,M,S,SS,I;
  716. ÿ   CHAR *P;
  717. ù
  718. ù   CLRMAP(0);
  719. ù   COLORS(COL1,COL2,COL3 );
  720. ù
  721. ù   PAINTCLOCK();
  722. ù
  723. ù   P=GETTIME();
  724. ù   SSCANF(P,"%D:%D:%D",&H,&M,&S);
  725. ù   H%=12;P+=6;     /* AUS ╙EKUNDEN EINST */
  726. ù
  727. ù   HZGRON(H=M/12.0+5*H+.5);
  728. ù   MZGRON(M);
  729. ù   SZGRON(S);
  730. ù
  731. ù   DO
  732. ù   █
  733. ù       DO
  734. ù       █
  735. ù           GETTIME();
  736. ù           SSCANF(P,"%D",&SS);
  737. ù
  738. ù       ▌WHILE(SS==S);
  739. ù
  740. ù       SZGROFF(S);
  741. ù
  742. ù       IF(SS<S)
  743. ù       █
  744. ù           MZGROFF(M);
  745. ù           M=(M+1)%60;
  746. ù
  747. ù           IF((M+6)%12==0)
  748. ù           █
  749. ù               HZGROFF(H);
  750. ù               HZGRON(H=(H+1)%60);
  751. ù           ▌
  752. ù           MZGRON(M);
  753. ù       ▌
  754. ù       SZGRON(S=SS);
  755. ù
  756. ù   ▌WHILE(TIM--);
  757. ù▌
  758. ù
  759. ò
  760. üPLETTER2(LETTER)
  761. ÿ   INT *LETTER;
  762. ÿ
  763. ÿ   █   INT J,I=0;
  764. ÿ       INT X,Y,Y0;
  765. ù
  766. ù       DO
  767. ù       █
  768. ¢           /* 0X0000: X=0 END (NEW BEGIN)    */
  769. ¢           /*         X=1 SET POINT          */
  770. ¢           /*         X=3 STOP, NEW BEGIN    */
  771. ù           J=LETTER[I++];
  772. ù           Y =(J&077)*FY+PY;
  773. ù           X=((J&07700) >>6)*FX+PX;
  774. ù
  775. ù           IF((J&=030000) == 010000)
  776. ù               PLOT(X,Y);
  777. ù           ELSE
  778. ù               SETPLOT(X,Y);
  779. ù
  780. ù       ▌WHILE(J != 0);
  781. ù       PX=X; PY=Y;
  782. ù   ▌
  783. ù
  784. û/* ╨╥╧╞╔-├ ─EMO */
  785. ù
  786. ÿINT X,Y,*LISTE;
  787. Ü/*   FLOAT FX,FY;   SCALE FACTOR FOR OBJECTS          */
  788. Ü/*   INT PX,PY;     PEN POSITION                      */
  789. ÿINT FRX,FRY;     /* DIMENSION OF AN OBJECT FROM START */
  790. ù
  791. Ü/* CODE OF THE COORDINATES:
  792. Ü   0ZXXYY (OCTAL DIGITS)
  793. Ü   XX: X-COORDINATE RELATIVE TO LEFT UPPER CORNER OF THE OBJECT
  794. Ü   YY: Y-COORDINATE RELATIVE TO LEFT UPPER CORNER OF THE OBJECT
  795. Ü   Z : 0 END OF THE COORDINATE LIST, (X,Y) IST STOP POINT
  796. Ü       1 DRAW LINE FROM LAST COORD. TO (X,Y)
  797. Ü       4 DIMENSION OF THE OBJECT (RECTANGLE INCLUDING THE OBJECT)
  798. Ü         (HAS TO BE THE FIRST!)
  799. Ü       3 LIFT PEN AND MOVE TO (X,Y)
  800. Ü       5 FILL FROM THIS POINT WITH COLO 1
  801. Ü       6 ...."....                      2
  802. Ü       7 ...."....                      3
  803. Ü*/
  804. ù
  805. ÿSTATIC INT L_PROFIC[]=
  806. ÿ█  046512,
  807. Ü   /* ╙ */
  808. ÿ   030011,010005,010104,010504,010502,
  809. ÿ   010202,010203,010003,010000,010600,
  810. ÿ   010701,010705,010606,010206,010210,
  811. ÿ   010510,010507,010707,010711,010612,
  812. ÿ   010112,010011,050305,
  813. Ü   /* ╒ */
  814. ÿ   031012,011010,011110,011101,011200,
  815. ÿ   011700,011712,011512,011502,011302,
  816. ÿ   011312,011012,
  817. ÿ   051401,
  818. Ü   /* ╨ */
  819. ÿ   032012,012010,012110,012102,012002,
  820. ÿ   012000,012400,012402,012302,012304,
  821. ÿ   012604,012705,012711,012612,012012,
  822. ÿ   032310,012306,012506,012510,012310,
  823. ÿ   052205,
  824. Ü   /* ┼ */
  825. ÿ   033012,013010,013110,013102,013002,
  826. ÿ   013000,013700,013703,013503,013502,013302,013304,
  827. ÿ   013504,013506,013306,013310,013510,
  828. ÿ   013507,013707,013712,013012,
  829. ÿ   053205,
  830. Ü   /* ╥ */
  831. ÿ   034012,014010,014110,014102,014002,
  832. ÿ   014000,014300,014304,014404,014503,
  833. ÿ   014500,015000,015002,014702,014704,
  834. ÿ   014605,014706,014711,014612,014012,
  835. ÿ   034310,014306,014506,014510,014310,
  836. ÿ   054205,
  837. Ü   /* - */
  838. ÿ   035106,015104,015504,015506,015106,
  839. ÿ   055305,
  840. Ü   /* ├ */
  841. ÿ   036012,015711,015701,016000,016400,
  842. ÿ   016501,016503,016303,016302,016102,
  843. ÿ   016110,016310,016307,016507,016511,
  844. ÿ   016412,016012,
  845. ÿ   056005,
  846. ÿ
  847. ÿ   007000
  848. ÿ▌;
  849. Ü
  850. Ü/* GET COORDINATES, CODE FROM A LIST */
  851. ù
  852. üINT GETPOI()
  853. ÿ
  854. ÿ   █   INT I;
  855. ù
  856. ù       I=*LISTE++;
  857. ù       X=((I&07700) >>6)*FX;
  858. ù       Y=(I&077)*FY;
  859. ù       RETURN (I&070000) >>12;
  860. ù   ▌
  861. ù
  862. Ü/* PRINT OBJECT HORIZONTAL */
  863. ù
  864. üOBJ_HOR(OBJ,LCOL,FCOL)
  865. ÿ   INT *OBJ,LCOL,FCOL;
  866. ù
  867. ÿ   █   INT I,X0,Y0;
  868. ù
  869. ù       LISTE=OBJ;
  870. ù       SETCOL(LCOL);
  871. ù       GETPOI();        /* DIMESNION */
  872. ù       FRX=X; FRY=Y;
  873. ù
  874. ù       DO█
  875. ù           I=GETPOI();
  876. ù           X0=PX+X; Y0=PY+Y;
  877. ù
  878. ù           SWITCH(I)
  879. ù           █   CASE 1: PLOT(X0,Y0);
  880. ù                       BREAK;
  881. ù               CASE 5: IF(FCOL==0)
  882. ù                           BREAK;
  883. ù                       SETCOL(FCOL);
  884. ù                       FILL(X0,Y0);
  885. ù                       SETCOL(LCOL);
  886. ù                       BREAK;
  887. ù               DEFAULT:SETPLOT(X0,Y0);
  888. ù           ▌
  889. ù
  890. ù       ▌WHILE(I != 0);
  891. ù       PX=X0; PY=Y0;
  892. ù   ▌
  893. ù
  894. üD_PROFIC(XSIZE,YSIZE)
  895. ÿ   FLOAT XSIZE,YSIZE;
  896. ÿ
  897. ÿ   █   CHAR *OBJ1,*OBJ2,*OBJ;
  898. ÿ       INT X0,Y0,X_START,I,CNT;
  899. ù
  900. ù       CLRMAP(0); COLORS(RED,BLACK,RED);
  901. ù
  902. ù       OBJ1=0X9000;
  903. ù       PX=PY=0; FX=XSIZE; FY=YSIZE;
  904. ù       OBJ_HOR(L_PROFIC,1,2);
  905. ù       OBJ2=PUSHOBJ(0,0,FRX,FRY,OBJ1);
  906. ù       CLRMAP(0);
  907. ù       PX=PY=0;
  908. ù       OBJ_HOR(L_PROFIC,1,3);
  909. ù       PUSHOBJ(0,0,FRX,FRY,OBJ2);
  910. ù
  911. ù       CLRMAP(0);
  912. ù       X_START=-10; Y0=-10; CNT=0;
  913. ù
  914. ù       DO█
  915. ù           X0=X_START; I=0;
  916. ù           DO█
  917. ù               IF(I==CNT)
  918. ù                   PLOTOBJ(X0,Y0,X0+FRX,Y0+FRY,OBJ2);
  919. ù               ELSE
  920. ù                   PLOTOBJ(X0,Y0,X0+FRX,Y0+FRY,OBJ1);
  921. ù               I=(I+1)%2;
  922. ù
  923. ù           ▌WHILE((X0+=FRX*1.08) <159);
  924. ù           IF((X_START+=0.2*FRX) >0)
  925. ù           █   X_START-=FRX;
  926. ù               CNT=(CNT+1)%2;
  927. ù           ▌
  928. ù
  929. ù       ▌WHILE((Y0+=FRY*1.2) < 199);
  930. ù
  931. ù       WAIT(8);
  932. ù   ▌
  933. ù
  934. û/* ╫┴╔╘ ╥╧╒╘╔╬┼ */
  935. ù
  936. üWAIT(TIM)
  937. ÿ   INT TIM;
  938. ù   █
  939. ÿ       INT S;
  940. ÿ       CHAR *P;
  941. ù
  942. ù       P=GETTIME()+6;
  943. ù       SSCANF(P,"%D",&S);
  944. ù       S=(S+TIM)%60;
  945. ù       DO
  946. ù       █
  947. ù           GETTIME();
  948. ù           SSCANF(P,"%D",&TIM);
  949. ù
  950. ù       ▌WHILE(TIM!=S);
  951. ù   ▌
  952. û
  953. û/* ╨╥╔╬╘ ╘┼╪╘ */
  954. û
  955. ÿSTRUCT PTEXT █ INT   __PX,__PY;
  956. ÿ               FLOAT __FX,__FY;
  957. ÿ               INT   __DX;
  958. ÿ               INT   __COL,__VERT;
  959. ÿ               FLOAT __CURS;
  960. ÿ               CHAR  *__TEXT;▌;
  961. û
  962. üPLOTTEXT(OBJ,N)
  963. ÿ   STRUCT PTEXT *OBJ;
  964. ÿ   INT N;
  965. ù   █
  966. ù       WHILE(N--)
  967. ù       █
  968. ù           PX=OBJ->__PX;
  969. ù           PY=OBJ->__PY;
  970. ù           FX=OBJ->__FX;
  971. ù           FY=OBJ->__FY;
  972. ù           SETCOL(OBJ->__COL);
  973. ù           VERTICAL=OBJ->__VERT;
  974. ù           CURSIV=OBJ->__CURS;
  975. ù
  976. ù           PLOTSTR(OBJ->__DX,OBJ->__TEXT);
  977. ù           OBJ++;
  978. ù       ▌
  979. ù   ▌
  980. ù
  981. û/* ╚EADER ┬╔╠─ */
  982. ù
  983. ÿSTATIC STRUCT PTEXT T_HEADER[]=
  984. ÿ   █  55, 175, 2, 3, 2, 1, 0, 0, "╘HIS IS A",
  985. ÿ      20, 155, 3, 4, 2, 1, 0, 0, "─EMONSTRATION ╨ROGRAM",
  986. ÿ      50, 120, 2, 3, 2, 1, 0, 0, "WRITTEN IN",
  987. ÿ     100, 118, 4, 4, 2, 1, 0, 0, "├",
  988. ÿ      15,  80, 2, 3, 2, 1, 0, 0, "COMPILED BY ─┴╘┴ ┬┼├╦┼╥'S",
  989. ÿ       1,  10, 2, 3, 2, 1, 0, 0, "THE ├-├OMPILER FOR ├-64 AND ├-128"
  990. ÿ   ▌;
  991. ÿ
  992. üP_HEADER()
  993. ù   █
  994. ù       CLRMAP(0);
  995. ù       COLORS(GREY,GREEN,RED);
  996. ù
  997. ù       PX=25,PY=40; FX=FY=2;
  998. ù       OBJ_HOR(L_PROFIC,3,3);
  999. ù
  1000. ù       PLOTTEXT(T_HEADER,SIZEOF(T_HEADER)/SIZEOF(*T_HEADER));
  1001. ù
  1002. ù       WAIT(20);
  1003. ù   ▌
  1004. ù
  1005. û/* ├OMMAND ┬╔╠─ */
  1006. ù
  1007. ÿSTATIC STRUCT PTEXT T_COMMAND[]=
  1008. ÿ   █   5, 175, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
  1009. ÿ      55, 175, 2, 3, 2, 1, 0, 0, "INCLUDES A COMMAND",
  1010. ÿ      15, 155, 2, 3, 2, 1, 0, 0, "PROCESSOR SIMILAR TO ├╨/═ (╘═)",
  1011. ÿ      15, 135, 2, 3, 2, 1, 0, 0, "WITH COMMANDS FOR DIRECTORY",
  1012. ÿ      15, 115, 2, 3, 2, 1, 0, 0,"ERROR MESSAGES AND COMMANDS TO DISK",
  1013. ÿ      15,  95, 2, 3, 2, 1, 0, 0, "AND HAS A 24 HOUR CLOCK",
  1014. ÿ       5,  70, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
  1015. ÿ      55,  70, 2, 3, 2, 1, 0, 0, "HANDLES UP TO",
  1016. ÿ      15,  50, 2, 3, 2, 1, 0, 0, "8 DISK DRIVES"
  1017. ÿ   ▌;
  1018. ÿ
  1019. üP_COMMAND()
  1020. ù   █
  1021. ù       CLRMAP(0);
  1022. ù       COLORS(GREY,GREEN,PINK);
  1023. ù       PLOTTEXT(T_COMMAND,SIZEOF(T_COMMAND)/SIZEOF(*T_COMMAND));
  1024. ù       WAIT(20);
  1025. ù   ▌
  1026. û
  1027. û/* ├OMMAND ╙┘╙╘┼═ */
  1028. ù
  1029. ÿSTATIC STRUCT PTEXT T_SYSTEM[]=
  1030. ÿ   █   5, 175, 2, 3, 2, 1, 0, 0, "╘HE",
  1031. ÿ      25, 175, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
  1032. ÿ      70, 175, 2, 3, 2, 1, 0, 0, "SOFTWARE PACKAGE",
  1033. ÿ       5, 155, 2, 3, 2, 1, 0, 0, "CONSISTS OF",
  1034. ÿ      15, 130, 4, 4, 2, 1, 0, 0, "├OMMAND ╨ROCESSOR",
  1035. ÿ      15, 110, 4, 4, 2, 1, 0, 0, "┼DITOR",
  1036. ÿ      15,  90, 4, 4, 2, 1, 0, 0, "├OMPILER",
  1037. ÿ      15,  70, 4, 4, 2, 1, 0, 0, "╠INKER",
  1038. ÿ      15,  50, 4, 4, 2, 1, 0, 0, "╠IBRARY ╞UNCTIONS",
  1039. ÿ      20,  35, 2, 2, 2, 1, 0, 0, "- MORE THAN 80",
  1040. ÿ      20,  22, 2, 2, 2, 1, 0, 0, "- ALSO FOR ╟RAPHICS AND",
  1041. ÿ      30,   9, 2, 2, 2, 1, 0, 0, "MATHEMATIC ┴PPLICATIONS"
  1042. ÿ   ▌;
  1043. ÿ
  1044. üP_SYSTEM()
  1045. ù   █
  1046. ù       CLRMAP(0);
  1047. ù       COLORS(GREY,GREEN,PINK);
  1048. ù       PLOTTEXT(T_SYSTEM,SIZEOF(T_SYSTEM)/SIZEOF(*T_SYSTEM));
  1049. ù       WAIT(20);
  1050. ù   ▌
  1051. ù
  1052. û/* ├-128 ┬ILD */
  1053. ù
  1054. ÿSTATIC STRUCT PTEXT T_C128[]=
  1055. ÿ   █   5, 175, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
  1056. ÿ      55, 175, 2, 3, 2, 1, 0, 0, "IN THE ├-128 VERSION",
  1057. ÿ       5, 155, 2, 3, 2, 1, 0, 0, "INCLUDES ADDITIONALY A",
  1058. ÿ      25, 120, 4, 4, 3, 1, 0, 0, "╥┴═-╞LOPPY",
  1059. ÿ      26, 121, 4, 4, 3, 2, 0, 0, "╥┴═-╞LOPPY",
  1060. ÿ       5,  90, 2, 3, 2, 1, 0, 0, "WITH ABOUT 240 FREE BLOCKS, WITH",
  1061. ÿ       5,  70, 2, 3, 2, 1, 0, 0, "MEMORY EXPANSION UP TO 760,",
  1062. ÿ       5,  50, 2, 3, 2, 1, 0, 0, "COMPATIBLE TO ╓├-1541,",
  1063. ÿ       5,  30, 2, 3, 2, 1, 0, 0, "╥┴═-╞LOPPY CAN BE ALSO USED IN",
  1064. ÿ       5,  10, 2, 3, 2, 1, 0, 0, "├-╨ROGRAMS"
  1065. ÿ   ▌;
  1066. ÿ
  1067. üP_C128()
  1068. ù   █
  1069. ù       CLRMAP(0);
  1070. ù       COLORS(GREY,GREEN,PINK);
  1071. ù       PLOTTEXT(T_C128,SIZEOF(T_C128)/SIZEOF(*T_C128));
  1072. ù       WAIT(20);
  1073. ù   ▌
  1074. û
  1075. û/* ┬USINESS ╟RAPHIC */
  1076. û
  1077. ÿSTATIC STRUCT PTEXT T_BUSIN[]=
  1078. ÿ   █  10, 180, 2, 3, 2, 2, 0, 0, "╟RAPHIC ┼XAMPLE:",
  1079. ÿ      15,  30,-2, 3, 2, 1, 1, 0, "╙ALES",
  1080. ÿ      55,   1,-2, 3, 2, 1, 1, 0, "╩AN",
  1081. ÿ      75,   1,-2, 3, 2, 1, 1, 0, "╞EB",
  1082. ÿ      95,   1,-2, 3, 2, 1, 1, 0, "═AR",
  1083. ÿ     115,   1,-2, 3, 2, 1, 1, 0, "┴PR",
  1084. ÿ     135,   1,-2, 3, 2, 1, 1, 0, "═AY",
  1085. ÿ     155,   1,-2, 3, 2, 1, 1, 0, "╩UN"
  1086. ÿ   ▌;
  1087. ÿ
  1088. üP_BUSIN()
  1089. ù   █
  1090. ÿ       CHAR *OBJ1,*OBJ2,*OBJ3,*OBJ4,*OBJ5,*OBJ6;
  1091. ÿ       INT  I;
  1092. ù
  1093. ù       CLRMAP(0);
  1094. ù       COLORS(GREY,BLUE,GREEN);
  1095. ù       OBJ1=0X9000;
  1096. ù
  1097. ù       PLOTHISTO(40,40,35);
  1098. ù       PLOTHISTO(60,40,60);
  1099. ù       PLOTHISTO(80,40,5);
  1100. ù       PLOTHISTO(100,40,40);
  1101. ù       PLOTHISTO(120,40,21);
  1102. ù       PLOTHISTO(140,40,51);
  1103. ù
  1104. ù       SETCOL(1);
  1105. ù       SETPLOT(180,30);
  1106. ù       PLOT(30,30);
  1107. ù       PLOT(30,170);
  1108. ù
  1109. ù       FOR(I=45;I<160;I+=20)
  1110. ù           LINE(I,35,I,30);
  1111. ù       FOR(I=30;I<140;I+=20)
  1112. ù           LINE(30,I,30,I);
  1113. ù
  1114. ù       PLOTTEXT(T_BUSIN,SIZEOF(T_BUSIN)/SIZEOF(*T_BUSIN));
  1115. ù
  1116. ù       WAIT(20);
  1117. ù   ▌
  1118. û
  1119. üPLOTHISTO(X,Y,HIGHT)
  1120. ÿ   INT X,Y,HIGHT;
  1121. ù   █
  1122. ù       SETCOL(2);
  1123. ù       SETPLOT(X,Y);
  1124. ù       PLOT(X,Y+HIGHT);
  1125. ù       PLOT(X+10,Y+HIGHT);
  1126. ù       PLOT(X+10,Y);
  1127. ù       PLOT(X,Y);
  1128. ù       SETCOL(3);
  1129. ù       FILL(X+1,Y+1);
  1130. ù       SETCOL(2);
  1131. ù       SETPLOT(X,Y+HIGHT);
  1132. ù       PLOT(X+8,Y+HIGHT+4);
  1133. ù       PLOT(X+18,Y+HIGHT+4);
  1134. ù       PLOT(X+10,Y+HIGHT);
  1135. ù       SETPLOT(X+18,Y+HIGHT+4);
  1136. ù       PLOT(X+18,Y+4);
  1137. ù       PLOT(X+10,Y);
  1138. ù   ▌
  1139. ù
  1140. û
  1141. û/* PRIME SIEVE  */
  1142. ù
  1143. üD_SIEVE()
  1144. ù   █
  1145. ÿ       INT NEXT,J;
  1146. ÿ       CHAR SIEVE[10000];
  1147. ÿ       INT MIN1,MIN2; DOUBLE SEC1,SEC2;
  1148. ù
  1149. ù       PRINTF("\223\231╘O HAVE AN IMPRESSION OF THE\N");
  1150. ù       PRINTF("QUICKNESS OF A ├-╨ROGRAM YOU NOW WILL\N");
  1151. ù       PRINTF("SEE THE PRIME NUMBERS UP TO 10000.\N");
  1152. ù       PRINTF("\N╘HEY ARE CALCULATED ACCORDING\N");
  1153. ù       PRINTF("TO THE SIEVE OF ┼RATHOSTENES.\N\N");
  1154. ù       PRINTF("┴T FIRST THE PROGRAM WILL PRINT\N");
  1155. ù       PRINTF("'╙TART'.\N\N");
  1156. ù       FOR(NEXT=2;NEXT<=10000;NEXT++)
  1157. ù           SIEVE[NEXT]=1;
  1158. ù
  1159. ù       PRINTF("\232╙TART\N");
  1160. ù
  1161. ù       FOR(NEXT=2; NEXT<=10000; NEXT++)
  1162. ù       █
  1163. ù           IF(SIEVE[NEXT])
  1164. ù           █
  1165. ù               PRINTF("%5D",NEXT);
  1166. ù               J=NEXT;
  1167. ù               DO
  1168. ù               █   SIEVE[J]=0;
  1169. ù                   J+=NEXT;
  1170. ù               ▌WHILE(J<=10000);
  1171. ù           ▌
  1172. ù       ▌
  1173. ù       PRINTF("\N┼ND\N\N\231╘HE COMPUTING TIME WAS ABOUT");
  1174. ù       PRINTF(" 1:18 MIN\N(IN ┬┴╙╔├ 7:22)\N");
  1175. ù       WAIT(15);
  1176. ù   ▌
  1177. ù
  1178. ù
  1179. û/* ═AINPROGRAM ─┼═╧ */
  1180. ÿ
  1181. üMAIN()
  1182. ù
  1183. ÿ   █   CHAR STRING[10];
  1184. ÿ       CHAR *TOPMEM, *HELP;
  1185. ÿ
  1186. ù       NMIOFF();
  1187. ù       PUTCHAR(├╠╥);
  1188. ù       PRINTF("\N─┼═╧: PLEASE TYPE TIME, I.E. 15:58:05\N");
  1189. ù       SCANF("%8S",STRING);
  1190. ù       SETTIME(STRING);
  1191. ù       TOPMEM=ALLOC(0);
  1192. ù       GRAPHIC();
  1193. ù       CLRMAP(0);
  1194. ù       GRAPHON();
  1195. ù
  1196. ùLABEL: D_PROFIC(2.0,2.0);
  1197. ù
  1198. ù       P_HEADER();
  1199. ù
  1200. ù       P_COMMAND();
  1201. ù
  1202. ù       P_SYSTEM();
  1203. ù
  1204. ù       CLOCK(65,9,8,1);
  1205. ù
  1206. ù       P_C128();
  1207. ù
  1208. ù       CLOCK(130,2,10,1);
  1209. ù
  1210. ù       P_BUSIN();
  1211. ù
  1212. ù       PUTCHAR(├╠╥);
  1213. ù       HELP=ALLOC(0);
  1214. ù       FREE(TOPMEM-HELP);
  1215. ù       GRAPHOFF();
  1216. ù       D_SIEVE();
  1217. ù       GRAPHIC();
  1218. ù       CLRMAP(0);
  1219. ù       GRAPHON();
  1220. ù
  1221. ù       CLOCK(160,11,12,1);
  1222. ù
  1223. ù       GOTO LABEL;
  1224. ù   ▌